- stream
- A System.IO.Stream containing the JPEG 2000 file data from which the frames are being extracted.
- frames
- Frame indices. A list of integers specifying the indices of the frames to be extracted from the input file. All indices should be 0-based.
Visual Basic (Declaration) | |
---|---|
Overloads Public Function ExtractFramesMemory( _ ByVal stream As Stream, _ ByVal frames As List(Of Integer) _ ) As Byte() |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As Jpeg2000Engine Dim stream As Stream Dim frames As List(Of Integer) Dim value() As Byte value = instance.ExtractFramesMemory(stream, frames) |
C++/CLI | |
---|---|
public: array<byte>^ ExtractFramesMemory( Stream^ stream, List<int>^ frames ) |
Parameters
- stream
- A System.IO.Stream containing the JPEG 2000 file data from which the frames are being extracted.
- frames
- Frame indices. A list of integers specifying the indices of the frames to be extracted from the input file. All indices should be 0-based.
Return Value
A byte array that contains a JPEG 2000 file with extracted frames only.Visual Basic | Copy Code |
---|---|
Private Function ExtractFramesMemoryStreamExample(ByVal frames As List(Of Integer)) As Byte() Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")) Dim engine As New Jpeg2000Engine() Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(fs) For i As Integer = 0 To frames.Count - 1 If (frames(i) >= fileInfo.Frame.GetLength(0)) Then Return Nothing End If Next i Dim buffer() As Byte = engine.ExtractFramesMemory(fs, frames) ' Clean up fs.Close() Return buffer End Function Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public byte[] ExtractFramesMemoryStreamExample(List<int> frames) { FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")); Jpeg2000Engine engine = new Jpeg2000Engine(); Jpeg2000FileInformation fileInfo = engine.GetFileInformation(fs); for (int i = 0; i < frames.Count; i++) if (frames[i] >= fileInfo.Frame.GetLength(0)) return null; byte[] buffer = engine.ExtractFramesMemory(fs, frames); // Clean up fs.Close(); return buffer; } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
. This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file. Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
Reference
Jpeg2000Engine ClassJpeg2000Engine Members
Overload List
ExtractFramesMemory(String, List)
ExtractFramesMemory
ExtractFramesNativeMemory
AppendFrames
AppendGmlData
FragmentJpxFile Method
ReadBox
ReadFrames
ReadGmlData
Compression Using LEAD and JPEG Formats
File Formats - JPEG And LEAD Compressed
Bitmaps In Memory And In Files
JPEG2000 File Comments
JPEG And LEAD File Comments
Programming with JPEG 2000 Features
JPEG 2000 Boxes